package mains;

import cartes.Carte;

import cartes.Denomination;

import java.util.Collection;
import java.util.Vector;

import mains.RangPoker;
import mains.ReqAnalyseMain;

import rangs.RangDeuxPaires;
import rangs.RangMainPleine;

public class MainPleine extends AbstractAnalyseurRang{
	public MainPleine() {
		super();
	}

	public boolean reconnaitreMain(ReqAnalyseMain requete) {
		Main vIni = requete.getMain();
		//Chercher un brelan
		Main vBrelan = hasSameDenominationNTimes(vIni,3);
		if(vBrelan == null)
			return false;
		//Enlever le brelan
		vIni.removeAll(vBrelan);
		//Y a-t-il une paire?
		Main vPaire = hasSameDenominationNTimes(vIni,2);
		if(vPaire != null){
			RangMainPleine r = new RangMainPleine();
			r.setBrelan(vBrelan);
			r.setPaire(vPaire);
			
			vIni.removeAll(vPaire);
			r.setReste(vIni);
  
			requete.setRangReconnu(r);
			return true; 
		}
		return false;
	  
	}
	
	public RangPoker getRang() {
		return RangPoker.MAIN_PLEINE;
	}
}
